/**
 * 
 */
package fr.mynounou.entities;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.PrimaryKeyJoinColumn;

/**
 * @author btavernier
 * 
 */
@SuppressWarnings("serial")
@Entity
@PrimaryKeyJoinColumn(name="ID_CONTACT")
public class Parent extends Contact implements Utilisateur {
	private Parent conjoint;
	private List<Enfant> enfants = new ArrayList<>();

	@ManyToOne
	private Nounou nounou;
	
	@Column(nullable=false,unique=true)
	private String login;
	@Column(nullable=false)
	private String password;

	public Parent(){
	}
	
	public Parent(String login, String password) {
		this.login = login;
		this.password = password;
	}

	@Override
	public String getLogin() {
		return this.login;
	}

	@Override
	public String getPassword() {
		return this.password;
	}

	/**
	 * @return the conjoint
	 */
	public Parent getConjoint() {
		return conjoint;
	}

	/**
	 * @param conjoint
	 *            the conjoint to set
	 */
	public void setConjoint(Parent conjoint) {
		this.conjoint = conjoint;
	}

	/**
	 * @return the enfants
	 */
	public List<Enfant> getEnfants() {
		return enfants;
	}

	/**
	 * @param enfants
	 *            the enfants to set
	 */
	public void setEnfants(List<Enfant> enfants) {
		this.enfants = enfants;
	}

	public void addEnfant(Enfant enfant) {
		ArrayList<Enfant> e = new ArrayList<>();
		e.add(enfant);
		enfants = e;
	}

	/**
	 * @param login the login to set
	 */
	public void setLogin(String login) {
		this.login = login;
	}

	/**
	 * @param password the password to set
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * @return the nounou
	 */
	public Nounou getNounou() {
		return nounou;
	}

	/**
	 * @param nounou the nounou to set
	 */
	public void setNounou(Nounou nounou) {
		this.nounou = nounou;
	}

}
